home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 3125 < prev    next >
Encoding:
Text File  |  1996-08-06  |  10.0 KB  |  292 lines

  1. Path: serv.HiNet.net!usenet
  2. From: longa@c2.hinet.net (Andrew Long)
  3. Newsgroups: comp.lang.c++
  4. Subject: GAME SDK for WIN95
  5. Date: Tue, 23 Jan 1996 04:48:03 GMT
  6. Organization: HiNet
  7. Message-ID: <4e00u1$f74@serv.hinet.net>
  8. NNTP-Posting-Host: 168.95.110.124
  9. X-Newsreader: Forte Free Agent 1.0.82
  10.  
  11. Who has GAME SDK for WIN95 ?
  12. How much bytes is it ?
  13. Can transfer it to me ???
  14. I have some data about it.
  15. It's below :
  16.  
  17. ---------------------------------------------------------------------------------------------------------------------------------------------------
  18.  
  19. Programming for the Windows 95 Game SDK
  20.  
  21. Jason Robar
  22.  
  23. July 13, 1995
  24.  
  25. The Windows 95 Game Software Developers Kit (SDK) offers game
  26. developers
  27. new tools and technology to help create high-performance games.
  28.  
  29. The Game SDK provides a standard set of system services. Under MS-DOS,
  30. developers had to implement and maintain such services themselves. The
  31. SDK
  32. also meets or exceeds the functionality available on the next
  33. generations
  34. of game consoles, while enabling functionality unique to the PC game
  35. platform.
  36.  
  37. The role of Windows 95
  38.  
  39. Windows 95 makes installing and configuring games and game peripherals
  40. easier with features such as Plug and Play and AutoPlay.
  41.  
  42. Currently, the Windows 95 game subsystem is available only as part of
  43. the
  44. Windows 95 Game SDK but will be built into future versions of Windows.
  45. The
  46. game subsystem is royalty-free, and the run-time library will be
  47. redistributed by game developers with their Windows 95-based games.
  48.  
  49. The Game APIs provide device independence and broad hardware support
  50. for a
  51. wide range of game peripherals without sacrificing speed or
  52. functionality.
  53. The architecture is based on the Component Object Model (COM). For an
  54. introductory look at COM, see "COM: A Model Problem Solver," Developer
  55. Network News, March/April 1995.
  56.  
  57. The Game SDK provides the following functionality:
  58.  
  59.    * DirectDraw for high-speed graphics
  60.    * DirectSound for sound mixing
  61.    * DirectPlay for multiplayer communication
  62.    * DirectInput for handling game input devices
  63.  
  64. DirectDraw
  65.  
  66. DirectDraw provides a device-independent way for games and Windows
  67. library
  68. software, such as 3-D graphics packages or digital video codecs, to
  69. access
  70. display device-dependent features. It allows direct linear
  71. manipulation of
  72. video display memory, hardware blters, hardware overlays, page
  73. flipping,
  74. and control of the palette and mode setting on the fly. This enables
  75. better
  76. graphics for animation.
  77.  
  78. By using DirectDraw, programmers will have access to features that
  79. previously required device dependence, such as:
  80.  
  81.    * Support for multiple-buffered and page-flipped animation.
  82.    * Access to and control of the video card blter.
  83.    * Hardware-assisted overlays with z ordering.
  84.    * Support for 3-D z buffers.
  85.    * Direct access to 3-D texture maps with or without palettes.
  86.    * Tight integration with 3-D hardware acceleration.
  87.    * Improved video playback quality through access to YUV color
  88. formats.
  89.    * Improved graphics and video quality through access to
  90. image-stretching
  91.      hardware.
  92.    * Translucency.
  93.    * Transparency.
  94.  
  95. DirectDraw is composed of three major components:
  96.  
  97.    * The DirectDraw object manages the DirectDraw drivers' global
  98.      functionality and represents the display device. Display modes,
  99.      resolution, and color depth are controlled through the DirectDraw
  100.      object.
  101.    * The DirectDraw surface is simply a linear area of memory. It
  102. contains
  103.      the device-dependent bits that represent a directly displayable
  104.      object.
  105.    * The DirectDraw palette is a 16- or 256-color indexed palette
  106. provided
  107.      for textures, offscreen surfaces, and overlay surfaces, which
  108. might
  109.      not have the same palette as the primary surface.
  110.  
  111. To achieve greater speeds, DirectDraw will use whatever hardware
  112. acceleration features are present and will employ software emulation
  113. for
  114. unsupported features. It also allows an application to determine
  115. easily the
  116. hardware functionality and software emulation capabilities so it can
  117. optimize its graphic demands based on how a system will perform.
  118.  
  119. The graphic methods that game programmers rely on are provided for in
  120. a
  121. simplified low-level API that does not sacrifice speed for
  122. functionality.
  123. By providing developers with a simple method to use the features that
  124. most
  125. video cards already provide (such as hardware blting), games under
  126. Windows
  127. 95 can achieve screen updates faster than anything that is practical
  128. to
  129. implement under MS-DOS.
  130.  
  131. DirectSound
  132.  
  133. DirectSound is the audio equivalent of DirectDraw. Developed in
  134. conjunction
  135. with PC audio expert John Miles, the DirectSound APIs were created to
  136. provide high-fidelity, low-latency sound and sound mixing. This
  137. enables
  138. realistic sound effects for Windows-based games.
  139.  
  140. DirectSound allows direct access to the hardware sound channel of an
  141. audio
  142. card. It does this by virtualizing the direct memory access (DMA)
  143. buffer,
  144. enabling direct access to on-card audio buffers, or emulating this for
  145. sound cards, such as the current generation of PCMCIA cards.
  146.  
  147. By using DirectSound, a game can store different sounds into different
  148. memory buffers. These buffers can be easily mixed and played quickly
  149. without the latency problems associated with Windows 3. x .
  150. DirectSound
  151. provides this functionality while maintaining compatibility with
  152. existing
  153. Windows 95-based applications and device drivers.
  154.  
  155. DirectSound is composed of two structures--the DirectSound object,
  156. which
  157. represents the sound card, and DirectSoundBuffer objects, which
  158. represent
  159. the sounds.
  160.  
  161. DirectSound is essentially an audio buffer manager. An application can
  162. employ DirectSound to create DirectSoundBuffer objects. These objects
  163. represent audio streams that can be written into directly. The
  164. application
  165. can mix audio data into these buffers, position these buffers in 3-D
  166. space,
  167. and play them. A DirectSoundBuffer object may be any of the popular
  168. formats
  169. currently supported by the WaveOut APIs. This includes mono or stereo;
  170. 8 or
  171. 16 bits; and 8, 11, 22, or 44 kHz.
  172.  
  173. The DirectSound object controls the sound card, which includes all of
  174. the
  175. operating parameters for the sound card and listener for 3-D audio. It
  176. is
  177. designed to give demanding applications control of the sound card when
  178. required. This enables very responsive, high-fidelity sound.
  179.  
  180. DirectPlay
  181.  
  182. To simplify adding multiplayer functionality to games, the DirectPlay
  183. component provides a method for two or more players' games to
  184. communicate.
  185.  
  186. DirectPlay provides a common interface for a game to use in order to
  187. establish a link to other games and handles providing the
  188. communication
  189. with the other machines. The application itself no longer has to
  190. provide
  191. the code for communicating data to other machines.
  192.  
  193. DirectPlay is made up of two pieces--the DirectPlay object that a game
  194. communicates with and the DirectPlay servers that the DirectPlay
  195. object
  196. uses. Microsoft will supply DirectPlay servers for modem, serial, and
  197. network connections. Any third party can also provide DirectPlay
  198. servers
  199. for specialized hardware or online communication services.
  200.  
  201. When a player wants to begin playing with other players, a list of the
  202. available servers can be presented to the player. After the player
  203. makes
  204. the selection, the game uses DirectPlay to establish the connection
  205. and
  206. handle the communication.
  207.  
  208. To adjust for communication performance, the game can query the
  209. DirectPlay
  210. object for the current latency and bandwidth of the communication
  211. method.
  212. The game can also query the DirectPlay object for information about
  213. previous and existing game play sessions.
  214.  
  215. A game using DirectPlay does not have to worry about whether it is
  216. using a
  217. modem or a network or an online service provider, thus saving
  218. developers
  219. time.
  220.  
  221. DirectInput
  222.  
  223. For a game to find out what a player wants to do, it needs a method to
  224. communicate with an input device. For the PC, the analog joystick has
  225. remained the standard by default for over a decade. This hasn't
  226. improved
  227. because the analog joystick method does not permit innovations in
  228. input
  229. device design. DirectInput is an API that solves these problems and
  230. provides even greater functionality.
  231.  
  232. By abstracting a game away from programming directly to the hardware,
  233. DirectInput allows Windows 95 to support a more diverse range of
  234. devices as
  235. they become available, such as headtrackers or digital joysticks. This
  236. also
  237. allows manufacturers to develop new designs without having to worry
  238. about
  239. compatibility with existing games. If a game was developed using
  240. DirectInput, a new minidriver is all that's needed for the game to
  241. make use
  242. of a new device.
  243.  
  244. DirectInput supports up to 16 input devices simultaneously, each with
  245. up to
  246. six axes of motion and n number of buttons. It also allows for
  247. increased
  248. performance through serial and digital input, while still supporting
  249. the
  250. current analog method.
  251.  
  252. This architecture also supports devices that react to data from the
  253. application (known as "force feedback"). A simple example of this is a
  254. steering wheel device that shakes when the player drives over rough
  255. ground.
  256.  
  257. With these features, DirectInput frees developers from worrying about
  258. which
  259. input devices to support, and allows hardware manufacturers to develop
  260. new
  261. designs without achieving industry acceptance beforehand.
  262.  
  263. How to get the Game SDK
  264.  
  265. The Game SDK is currently in beta but is scheduled to be available
  266. this
  267. fall. To receive a beta copy, e-mail betareq@microsoft.com with your
  268. contact information (name, address, e-mail, phone, fax, and so on) and
  269. specifically request the Windows 95 Game SDK Beta. Support sections
  270. are
  271. currently available on CompuServe in the WINMM forum.
  272.  
  273. The Windows 95 Game SDK represents an evolutionary leap forward for
  274. the
  275. Microsoft Windows API. By using the game subsystem, Windows 95-based
  276. games
  277. will be the best available on any platform.
  278.  
  279. When he's not evangelizing the gaming world about the Ultimate Gaming
  280. Platform (UGP), Jason Robar enjoys exploring the clubs and cafes of
  281. Seattle, looking for the perfect band or the perfect spot to relax and
  282. read
  283. in Russian.
  284.  
  285. ⌐ 1996 Microsoft Corporation
  286.  
  287. ---------------------------------------------------------------------------
  288.           [Previous] [Up One Level] [Next] [Developers Home Page]
  289.  
  290.  
  291.  
  292.